package org.microframework.cloud.logs.service;

import org.microframework.cloud.logs.model.dto.StatisticsDTO;

/**
 * 日志统计服务接口
 *
 * @author zs
 * @version 1.0.0
 * @since 2024-06-14
 */
public interface StatisticsService {

    /**
     * 获取登录统计数据
     *
     * @param days 统计天数
     * @return 统计数据
     */
    StatisticsDTO getLoginStatistics(Integer days);

    /**
     * 获取操作日志统计数据
     *
     * @param days 统计天数
     * @return 统计数据
     */
    StatisticsDTO getOperationStatistics(Integer days);

    /**
     * 获取系统日志统计数据
     *
     * @param days 统计天数
     * @return 统计数据
     */
    StatisticsDTO getSystemStatistics(Integer days);

    /**
     * 获取API调用统计数据
     *
     * @param days 统计天数
     * @return 统计数据
     */
    StatisticsDTO getApiStatistics(Integer days);

    /**
     * 获取异常日志统计数据
     *
     * @param days 统计天数
     * @return 统计数据
     */
    StatisticsDTO getErrorStatistics(Integer days);

    /**
     * 获取综合统计看板数据
     *
     * @return 统计数据
     */
    StatisticsDTO getDashboardData();

    /**
     * 获取用户活跃度分析数据
     *
     * @param days 统计天数
     * @return 统计数据
     */
    StatisticsDTO getUserActivityData(Integer days);
} 